home *** CD-ROM | disk | FTP | other *** search
- February 19, 1992 Amiga Rayshade Readme (port by Colin DeWolfe)
- -----------------
-
- What we have here in this directory is the current release of Rayshade 4.0. The purpose
- of this readme is not to explain the use of Rayshade in general, but to explain how to
- use it on the Amiga.
-
-
- Installation
- ------------
-
- The only thing you have to do to install rayshade is to copy the file ixemul.library
- in the libs directory to LIBS: and add the bin directory to your path.
-
-
- The Stack
- ---------
-
- Rayshade is a stack pig. The newest release isn't as much of a pig as the older
- revisions were (Thanks Craig) but it still loves stack space. Most of the examples in
- the Examples directory can be rendered using a stack of under 200,000 but some exhibit
- wierd results if they do run out of stack, especially the constructive solid geometry ones.
- If rayshade does happen to run out of stack one of three things will happen: 1) it will crash
- gloriously, 2) the ixemul.library will trap the error and return gracefully to the shell, or
- 3) you will just get unpredictable results. All these seem to depend on how many processes
- you have running and if rayshade's stack ends up running over some other program's data.
- Included is a program called StackWatch (James Locker) which will report stack
- usage every 30'th of a second. This is great for examining how much stack Rayshade is
- actually using. It will probably miss alot of peak usage, but it will give you an idea.
-
-
- Running Rayshade
- ----------------
-
- You run Rayshade by using a CLI command of the following form:
-
- 1.drive:dir/dir> rayshade < file.ray > file.mtv [options]
-
- The documents say that you can use the form "rayshade file.ray > file.mtv [options]"
- however I had some trouble supporting this with the GNU C pre-processor, so just use the
- form above and you will be fine. I will try to fix this, even if it means switching to
- another pre-processor.
-
- Rayshade will fire up the C pre-processor on your input and then start rendering.
-
-
- Documentation
- -------------
-
- In the Doc directory are the postscript file for the Guide, Copyright notice,
- documentation for some of the support utilities, BUGS, TODO list and other legal stuff.
- Some of the utility programs are lacking documentation. These are: 24toppm, ppmto24,
- mtv2tmp, splitanim, and ppmtomtv. These last three I wrote and have since lost the
- source code for (long story). The other two have notices in the program and did not come
- with documentation in the archive that I had. These will be documented below.
-
- Viewing Pictures
- ----------------
-
- Once Rayshade has finished cooking you probably want to look at what it did.
- Currently there are three methods for doing this.
-
- 1) run mtvtoppm < file.mtv > pipe:a
- ppmtoilbm -hamforce < pipe:a > file.ilbm
- (Then use your favorite display utility or paint program.)
-
- 2) mtvtoppm < file.mtv > file.ppm
- ppmto24 file.ppm file.iff24
- (This will create a 24 bit iff file for you lucky people with 24 bit boards.)
-
- 3) or for preview
-
- mtv2tmp file.mtv file.tmp (size limit of 320 400)
- ray2 file (note: no extension)
-
- (Ray2 is taken from DBW Render. It has problems writing a 'correct' ilbm file.
- Most paint programs can load it, but most display viewers can't. Go figure.)
-
-
- Image Mapping
- -------------
-
- Rayshade supports image mapping. All the details are in the guide, however
- I must mention that it likes its input images in the mtv format. For this reason
- the utilities 24toppm, ilbmtoppm, and ppmtomtv are included. They have usage guides if you
- just type their name at the shell prompt or have a doc file in the Doc. directory.
-
-
-
- Animations
- ----------
-
- Rayshade has built in animation support as documented in the guide. It is quite
- basic however and you will probably end up doing animations using C to generate N input
- files. For those of you who will use the built in animation support, I have included a
- program called splitanim which will split up the sometimes huge image file that is
- produced (Rayshade renders all the frames of an animation into one long file.)
- The usage is as follows:
-
- splitanim coin.mtv (for the example animation given in the Examples directory)
-
- You will be presented with immense disk activity and then after that, a whole plethora
- of files named "*.mtv.n" files where * is the base name (in this case coin) and n is the
- frame number. You can then do with these what you will.
-
-
- IT'S NOT A BUG, IT'S A FEATURE
- ------------------------------
-
- The GCC support for the pipe: device is abysmal. So, I had to kludge the
- gcc-cpp support by writing two temporary files, one called pipein and the other
- called pipeout. These are written to the current directory. Pipein is exactly
- the same as the original input file and pipeout is the pre-processed input file.
- The reason I am saying that it's a feature is because gcc-cpp will sometimes
- embed spaces where you don't want them, i.e., in the middle of a file path.
- Rayshade will complain about this. What you can then do is edit the file
- "pipeout" to fix this and then feed this file into Rayshade like this:
-
- rayshade < pipeout > file.mtv [options]
-
- Rayshade will now happily generate your image.
- I am going to work on this further, but it may mean moving to another CPP.
- Or if anyone has a working version of popen(), mail it to me.
- BTW, this problem with gcc-cpp also happens on other platforms (IRIS, SUN...).
-
-
-
- Acknowledgements
- ----------------
-
- For : Rayshade 4.0: Craig Kolb of Princeton University
-
- ppmtoilbm: The German dudes who ported the great PPM toolkit.
- You know who you are. (Blatant plug: Get this thing)
-
- ppmto24, 24toppm: A.J. Brouwer
-
- mtv2tmp, splitanim, Me. :-) (What a self serving little snot, eh?)
- ppmtomtv
-
- gcc-cpp: GNU. Also Markus Wild, who ported it to the Amiga
- and without who's port of GCC this wouldn't have
- been possible (SAS and Manx both barfed on the
- source code.)
-
- Sustainance: Ron the Pizza Guy
- -------------------------------------------------------------------------------
-
- Mail messages (no money, this is freely redistributable) can be sent to:
-
- Snail (Canada Post):
-
- Colin G. DeWolfe | email: dewolfe@ug.cs.dal.ca
- Unit #2 | dewolfe@iris1.ucis.dal.ca
- 5254 Green St., | dewolfcg@newton.ccs.tuns.ca
- Halifax, Nova Scotia |
- Canada
- B3H 1N7
-